package main

import (
	"fmt"
	"time"

	"github.com/go-rod/rod"
)

func main() {
	// 1. 启动浏览器（默认会尝试找本地安装的 Chrome/Edge）
	browser := rod.New().MustConnect()
	defer browser.MustClose() // 确保退出前关闭浏览器

	// 2. 创建一个新页面
	page := browser.MustPage("https://www.baidu.com").MustWaitLoad()

	// 3. 在搜索框输入关键词并提交
	page.MustElement("#kw").MustInput("Go-Rod 示例") // #kw 是百度搜索框的 CSS 选择器
	page.MustElement("#su").MustClick()            // 点击搜索按钮

	// 4. 等待结果加载完成（显式等待）
	page.MustWaitLoad()
	page.MustWaitStable()       // 等待页面稳定（无动态变化）
	time.Sleep(2 * time.Second) // 可选：简单等待

	// 5. 提取搜索结果标题和链接
	results := page.MustElements(".result h3 a") // 百度结果标题的 CSS 选择器
	for i, result := range results {
		title := result.MustText()
		link := result.MustProperty("href")
		fmt.Printf("结果 %d:\n  标题: %s\n  链接: %s\n\n", i+1, title, link)
	}
}
